Tag: hibernate

使用jdbc / hibernate获取当前数据库事务ID?

我已经浏览了Google,但找不到任何相关内容。 基本上,我希望掌握长期运行的交易。 现在,我将浏览information_schema.INNODB_TRX或查看show engine innodb status的输出以查找trx_id ,然后打开general_logs以查看所有查询的运行情况。 有没有办法,我可以使用jdbc或hibernate在我的代码中获取此transaction_id ,以便我可以在我的服务器日志中记录它?

java web应用程序布局,请解释一些设计原则/模式

我正在看这个使用hibernate,jsp和spring框架的java web应用程序。 (据我所知!) 文件布局是这样的: classes/com/example/project1 在project1中 /dao _entity_Dao.java /dao/hibernate/ _entity_DaoHibernate.java /factory DaoFactory.java DaoFactoryImpl.java /managers _entity_Manager.java /managers/impl _entity_ManagerImpl.java /model _entity_.java /service _xxxx_Service.java /service/impl/ _xxxx_ServiceImpl.java 你们有人在某处读过这种布局吗? 它被认为是最佳实践吗? 工厂与经理和服务有什么区别? (高水平)

如何在不将完整文件加载到内存的情况下将大文件插入BLOB(Oracle)?

我们在临时文件系统上存储了一个大文件,我需要的是使用BufferedInputStream读取那个巨大的文件(可能是几个或几个演出),如下所示 InputStream is = is = new BufferedInputStream(new FileInputStream(file)); 这将有效地减少读取文件的时间,并希望将文件保存到DB(Oracle)中的BLOB。 这是真正的问题: 我不希望文件被完全读入我的内存,因为我登陆内存不足并想要读取块并将文件内容作为字节数组推送到我的DB BLOB列。 基本上,我的想法是杀死将完整文件加载到内存并实现将文件保存到BLOB(可能附加到现有BLOB内容等)的头顶 有没有办法实现这一目标? PS:我们使用Hibernates来保存BLOB文件

如何在Spring Data中按示例查询在两个日期之间添加限制范围

我有一个有两个日期的类,我的搜索是动态的,Hibernate提供了Query By Example(QBE),但现在使用Spring Data的QBE。 问题是当创建QBE但文档限制ExampleMatcher的String类型时,我需要创建一个ExampleMatcher来搜索此日期之间的所有实体。 如何使用查询实例来实现这个? 我现在的替代方案是: 创建一个hibernate dao并使用QBE和hibernate标准(Bye JPA:’() 探索这个http://spring.io/blog/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/ (非常难看的代码) 类的示例属性: private int id; private String property1; private String property2; private Date dateFirst; private Date dateSecond; 相关: http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#query-by-example.usage 如何将多个日期搜索与Spring Data JPA的CrudRepository结合起来? Spring Data JPA:按示例查询?

有关hibernate的复合模式的帮助

所以我被卡住了,我正在创建一个gwt web应用程序,我将使用树(gwt Tree和TreeItems)结构来显示文件夹列表(类Folder)和文件(类FileLocation),文件夹和filelocation类将全部基于复合模式的类实现Hierarchy接口。 但我使用hibernate来存储我的数据,我正在使用注释将数据映射到数据库。 我的麻烦是我不知道如何注释我的界面。 你有没有人使用复合模式,同时用hibernate持久化数据 public interface Hierarchy(){ // a few abstract methods that will be implemented by the sub classes } @Entity @Table() public class Folder implements Serializable, Hierarchy { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = “folder_id”, updatable = false, nullable = false) private int id; @OneToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER) @JoinTable(name = […]

Hibernate:加载vs get

我知道这是一个很常见的常见问题。 但我仍然无法得到一些东西 – 表现怎么样? 哪种方法更快? 实际上,我需要一个简单的事情:页面发出一个POST请求:id = 0,name =’John’。 服务器端脚本应检查id = 0,然后在DB中创建新记录,否则更新现有记录。 我认为get()对我来说更有用,因为如果DB中不存在记录,它将返回NULL,而load()可以返回一些temproray对象。我是对的吗? 谢谢

struts2 + hibernate3 + jasper-report 5.0 —得到空白报告

我创建了一个应用程序,它使用jasper report 5.0,struts2和hibernate打印出一个报告。 jasper报告使用hql。 该应用程序工作正常,但问题是,当我触发struts动作时,我在浏览器中得到空白报告 ,但当我在netbeans中预览报告时,我正在获取带有数据的报告。 任何人都可以告诉我一些解决方案。 当报告单独运行时 通过struts2 + hibernate生成相同报告时的空白报告 我的代码如下所示 在struts.xml /Reports_HSE/sample.jasper myList PDF HibernateClass.java public class HibernateClass { private List myList; Session session; SessionFactory sessionFactory; public String getpdf() { String dest = ServletActionContext.getServletContext().getRealPath(“/Reports_HSE/sample.jasper”); session = createSession(); Map parameterMap = new HashMap(); parameterMap.put( JRHibernateQueryExecuterFactory.PARAMETER_HIBERNATE_SESSION, session); try { System.out.println(“Filling report…”); JasperFillManager.fillReportToFile(dest, parameterMap); System.out.println(“Done!”); return […]

除非访问集合,否则Hibernate OneToMany FetchType.LAZY无法正常工作?

我使用spring 4.1.4.RELEASE + hibernate 4.3.6.Final,这是我的实体代码: public class BaseEntity implements Serializable { } public class MarketInfo extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = “id”) private int id; @Column(name = “market_id”, unique = true, length = 15) private String marketId; @OneToMany(fetch = FetchType.LAZY, mappedBy = “market”) private List channelGroups; public List getChannelGroups() { return channelGroups; […]

在hibernate本机查询中获取新创建的行ID

sess.createSQLQuery(“INSERT INTO ARCHIVE (folder) VALUES(:folder)”) .setParameter(“folder”,path) .executeUpdate(); 我想拥有新创建的对象的id。 我怎样才能做到这一点?

Hibernate事件监听器 – 回滚

我实现了一个像这样的Hibernate事件监听器: public class AuditListener implements PostInsertEventListener { private static final long serialVersionUID = -966368101369878522L; @Override public void onPostInsert(PostInsertEvent event) { if (event.getEntity() instanceof Auditable) { StatelessSession session = null; try { session = event.getPersister().getFactory().openStatelessSession(); Auditable auditableEntity = (Auditable)event.getEntity(); session.beginTransaction(); session.insert(new AuditTrail(auditableEntity.getClass().getSimpleName(), auditableEntity.getId(), auditableEntity.getStatus(), auditableEntity.getLastModified())); session.getTransaction().commit(); } catch (HibernateException he) { System.out.println(“Horrible error: ” + he.getMessage()); […]