Java 将表上的现有项转换为Hibernate实体对象
我希望消除接收到的数据中的重复(我将数据转换为对象(Java 将表上的现有项转换为Hibernate实体对象,java,mysql,hibernate,orm,Java,Mysql,Hibernate,Orm,我希望消除接收到的数据中的重复(我将数据转换为对象(Company.java),并通过Hibernate将它们存储在表中) 每当一个新数据出现时,我想通过查询将其与所有条目进行核对。在本例中,我使用uniquiResult()方法检查数据是否已经在表中 然后,如果数据还不存在,则使用数据创建一个新的公司对象,并将公司对象保存到会话中 但是,如果数据已经存在,如何获取现有条目并将其转换为对象 我的代码如下: Company company; if(s
Company.java
),并通过Hibernate将它们存储在表中)
每当一个新数据出现时,我想通过查询将其与所有条目进行核对。在本例中,我使用uniquiResult()
方法检查数据是否已经在表中
然后,如果数据还不存在,则使用数据创建一个新的公司
对象,并将公司
对象保存到会话中
但是,如果数据已经存在,如何获取现有条目并将其转换为对象
我的代码如下:
Company company;
if(session
.createQuery("from company where company_name=:placeholder")
.setParameter("placeholder", data.getCompanyName())
.uniqueResult()
!=null){
company = ????;
} else {
company = new Company(data.getCompanyName());
session.save(company);
}
谢谢。如果您查看Hibernate会话对象的文档
Company company = session
.createQuery("from company where company_name=:placeholder")
.setParameter("placeholder", data.getCompanyName())
.uniqueResult();
if(company == null) {
company = new Company(data.getCompanyName());
session.save(company);
}
Object uniqueResult()
Convenience method to return a single instance that matches the query, or null if the query returns no results.
i、 它执行您的查询,从数据库中获取记录并将其转换为对象
您要查找的代码是:
Company company = session.createQuery("from company where company_name=:placeholder")
.setParameter("placeholder", data.getCompanyName())
.uniqueResult()
!=null;
if(company == null) {
company = new Company(data.getCompanyName());
session.save(company);
}
如果查看Hibernate会话对象的文档
Object uniqueResult()
Convenience method to return a single instance that matches the query, or null if the query returns no results.
i、 它执行您的查询,从数据库中获取记录并将其转换为对象
您要查找的代码是:
Company company = session.createQuery("from company where company_name=:placeholder")
.setParameter("placeholder", data.getCompanyName())
.uniqueResult()
!=null;
if(company == null) {
company = new Company(data.getCompanyName());
session.save(company);
}