[英]Insert data into table using Hibernate
I'm new to Hibernate.我是 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?
我应该如何创建会话对象?
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();
You have Hibernate and it's tools USE THEM!!!你有 Hibernate 和它的工具使用它们!!!
DISCLAIMER:免责声明:
status
attribute because is not mapped!status
属性,因为没有映射!// 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("yo@yo.com");
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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.