Reputation: 1658
I'm new to Hibernate. I want to insert data into this hibernate entity:
@Entity
public class Invitation implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "invited_on")
@Temporal(TemporalType.TIMESTAMP)
private Date invitedOn;
@Column(name = "invited_email")
private String invitedEmail;
@Column(name = "invitation_msg")
private String invitationMessage;
private Boolean status; //true:accepted || false:pending
@ManyToOne
@JoinColumn(name = "sent_by")
private Person inviter;
// getters and setters
}
I tested this code:
public void insert()
{
Query query = session.createQuery("insert into Invitation(invited_on, invited_email, invitation_msg, sent_by)");
int result = query.executeUpdate();
}
What is the proper way to insert data? How I should create session Object?
Upvotes: 2
Views: 37145
Reputation: 131
use this in the main class it works to insert data into table:
Users user = new Users();
user.setUid(1);
user.setUfname("firstname");
user.setUlname("Lastname");
Configuration config = new Configuration()
.configure()
.addAnnotatedClass(Users.class);
ServiceRegistry reg = new ServiceRegistryBuilder()
.applySettings(config.getProperties())
.buildServiceRegistry();
SessionFactory sf = config.buildSessionFactory(reg);
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
session.save(user);
tx.commit();
Upvotes: 2
Reputation: 26961
You have Hibernate and it's tools USE THEM!!!
DISCLAIMER:
status
attribute because is not mapped!// don't need if you already got a session
Session session = HibernateUtil.getSessionFactory().openSession();
// start transaction
session.beginTransaction();
// create invitation Object
Invitation inv = new Invitation();
inv.setId(1L);
inv.setInvitedOn(new java.util.Date());
inv.setInvitedEmail("[email protected]");
inv.setInvitationMessage("come on!!!");
inv.setInviter(new Person("inviter")); // hey! this is not valid for sure! :)
// Save the invitation to database
session.save(inv);
// Commit the transaction
session.getTransaction().commit();
Upvotes: 1