我该如何使用Hibernate-如果记录不存在,请插入它。
我有以下专栏
ID(主键),股票代号,股票代号,行业,部门,最新更新
我想检查代码行中的记录,如果该字符串存在,则不执行任何操作,如果不存在,则插入一个新行,其中包含ID,股票代码,股票名称,行业,行业和更新日期(今天的日期)。
我已经用下面的代码创建了一个新表。
//Hibernate Create a Session Factory
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
for (int i = 0; i < Bloomberg.getTickerSymbol().size(); i++){
//Hibernate to store Stock Tickers Data
tickerInfo.setTickerSymbol(Bloomberg.getTickerSymbol().get(i)); //Symbol
tickerInfo.setTickerName(Bloomberg.getTickerName().get(i)); //Name
tickerInfo.setTickerSector(Bloomberg.getTickerSector().get(i)); //Sector
tickerInfo.setTickerIndustry(Bloomberg.getTickerIndustry().get(i)); //Industry
tickerInfo.setTickerLastUpdate(Calendar.getInstance().getTime()); //Update Date
org.hibernate.Session session = sessionFactory.openSession();
session.beginTransaction();
session.saveOrUpdate(tickerInfo);
session.getTransaction().commit();
session.close();
}
//Hibernate Create a Session Factory
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
for (int i = 0; i < Bloomberg.getTickerSymbol().size(); i++){
//Hibernate to store Stock Tickers Data
tickerInfo.setTickerSymbol(Bloomberg.getTickerSymbol().get(i)); //Symbol
tickerInfo.setTickerName(Bloomberg.getTickerName().get(i)); //Name
tickerInfo.setTickerSector(Bloomberg.getTickerSector().get(i)); //Sector
tickerInfo.setTickerIndustry(Bloomberg.getTickerIndustry().get(i)); //Industry
tickerInfo.setTickerLastUpdate(Calendar.getInstance().getTime()); //Update Date
org.hibernate.Session session = sessionFactory.openSession();
List tickerInfos = session.createCriteria(TickerInfo.class).add(Restrictions.eq("tickerSymbol", Bloomberg.getTickerSymbol().get(i))).list();
if(tickerInfos.size()<1){
session.beginTransaction();
session.saveOrUpdate(tickerInfo);
session.getTransaction().commit();
}
session.close();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句