Tag: hibernate

命名查询的等效条件查询

我的命名查询看起来像这样,多亏了这里。 @NamedQuery( name=”Cat.favourites”, query=”select c from Usercat as uc inner join uc.cat as c where uc.isFavourtie = true and uc.user = :user”) 而实现的调用看起来像这样: Session session = sessionFactory.getCurrentSession(); Query query = session.getNamedQuery(“Cat.favourites”); query.setEntity(“user”, myCurrentUser); return query.list(); 什么是返回猫列表的等效标准查询?

我应该如何使用Spring / Hibernate项目设置业务对象

我是第一次设置Spring 3 / Hibernate 3.6应用程序架构并配置了所有部件,但需要有关业务层的正确架构设计的更多信息。 请提供建议或指向资源的链接,这些资源将建议在我的控制器和DAO之间建立单独的业务层。 是否有针对业务对象的建议技术或通常使用的POJO? 对于业务对象,应用程序是否仅使用与我的控制器位于同一级别的单独文件夹进行划分?

使用SpringBoot和Hibernate与复合pks的双向@OneToMany关系

我的应用程序中现有的父子关系最近变得更加复杂,因为我们在父级和子级的主键上添加了“类型”列。 在此之后,添加,阅读和修改儿童效果很好,但删除它们是一种痛苦。 使用Vlad Mihalcea在本文中给出的关于@OneToMany关系的建议以及关于复合键的各种示例,我尝试了类似于以下模型的实现。 但是,删除孩子仍然无法正常工作,我现在有一个奇怪的错误消息作为奖励。 我使用的是Spring Boot 1.4.1和Hibernate 5.1.9.Final。 案子 Parent实体具有@EmbeddedId ParentPK,其中包含两个字段以及Cascade.ALL和orphanRemoval设置为true的orphanRemoval 。 亲 @Entity @Table(name = “z_parent”) public class Parent { @EmbeddedId private ParentPK pk; @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true) @JoinColumns({ @JoinColumn(name = “parent_code”, referencedColumnName = “code”), @JoinColumn(name = “parent_type”, referencedColumnName = “type”) }) List children = new ArrayList(); public […]

使用Tomcat和gradle进行Hibernate

免责声明:我是Java新手。 我正在尝试使用Tomcat和Gradle设置Hibernate。 构建运行正常,但看起来不会读取persistence.xml文件 我的项目结构如下: ├── build.gradle └── src └── main ├── java │ └── com │ └── test │ ├── domain │ │ └── Person.java │ └── web │ └── EventManagerServlet.java └── webapp ├── META-INF │ └── web.xml └── WEB-INF └── classes └── persistence.xml build.gradle文件的内容: apply plugin: ‘java’ apply plugin: ‘idea’ apply plugin: ‘tomcat’ apply […]

如何取消正在运行的SQL查询?

我知道statement.cancel()可以用来取消正在运行的SQL查询,但我想知道的是,我将如何在另一个线程中获取此语句对象。 使用案例: 我请求启动一个运行语句的线程。 然后从一个单独的请求(另一个线程)我可能想取消这个线程。 如何在这个新请求中获取语​​句来调用其中的cancel方法。 在某些情况下,我可能会运行多个语句。 附加信息,它是一个Web应用程序,使用spring框架,hibernate和JPA。 现在在UI中有2个按钮,按钮1将触发SQL查询,按钮2必须取消该查询 我提到了这个例子,但它使用相同的线程来调用新线程,这是我无法做到的。 这是查询的启动方式: Query query = mEntityManager.createNativeQuery(globalQuery.toString()); List results = query.getResultList(); 编辑: 我能想到的一种方法是跟踪所有正在运行的语句,然后找到必须取消SQL语句的语句。

Hibernate:Hibernate总是使用对象代理吗?

我认为仅当类具有Collection类型的字段并且使用Lazy fetching时才使用对象代理。 但是一些消息来源似乎暗示Hibernate 3对所有对象使用代理,而不管对象是否具有集合类型字段。 当Hibernate使用对象代理时,有人可以解释一下吗? 是在所有的时间,还是只是在某些情况下?

Web Java变量重置

我使用Java中的Ajax创建了Hibernate和Struts 2的网站。 基本上,当我创建时,修改任何本地内容(在.java中),比如将值赋给int ,在下次检查时为null 。 每次都会发生这种情况 这是struts.xml我的大部分页面都以这种方式出价: /MyAccount.jsp 客户端只是一个实现了CRUD的bin类: public class Client extends ActionSupport { private static final long serialVersionUID = 1L; private Long idClient; private String login; private String password; private String nom; private String prenom; private String adresse; private String ville; private int cPostal; private String email; private Set panier = new HashSet(0); […]

如何使用hibernate在spring boot中调用MySQL存储过程?

我在MySQL存储过程中编写了一些逻辑。我正在使用带有hibernate的spring boot 。 我有一个IN OUT参数的登录程序。 从我的登录程序,我想传递给用户的消息。 但我不知道如何在Spring启动时调用存储过程。 我的代码是吼叫.. 我的登录程序是 CREATE PROCEDURE login(IN in_user_id varchar(100), IN in_password varchar(100), OUT out_code INT, OUT out_message varchar(100)) BEGIN IF in_user_id IS NULL OR in_user_id = ” THEN SET out_code = 1; SET out_message = ‘Please Enter Your First Name.’; END IF; /*Logi Here*/ END; 我曾经使用过类实体类 @Entity @Table(name = “user”) […]

知道何时达到数据库与缓存

鉴于Hibernate的所有智能以及它的各种缓存策略,我如何知道某个操作是否导致物理数据库命中或来自缓存?

Hibernate无法打开连接

我在hibernate无法打开连接时遇到问题。 我有一个DAO: public class MyDao extends HibernateDaoSupport { DataSource dataSource; public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; } public MyPOJO findByQuery(int hour) { Query query = this.getSession().createSQLQuery( “SELECT * FROM MyPOJO WHERE someDate >= DATE_SUB(now(), INTERVAL ? HOUR)”) .addEntity(MyPOJO.class); List results = query.setInteger(0, hours).list(); return results; } } 然后在测试用例中调用findByQuery(1)8次,它可以工作,但如果我第9次调用它失败了: org.hibernate.exception.GenericJDBCException: Cannot open connection at […]