Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未使用hibernate从多个映射表获取数据_Java_Mysql_Spring_Hibernate_Spring Mvc - Fatal编程技术网

Java 未使用hibernate从多个映射表获取数据

Java 未使用hibernate从多个映射表获取数据,java,mysql,spring,hibernate,spring-mvc,Java,Mysql,Spring,Hibernate,Spring Mvc,嗨,我刚开始冬眠 我有一个JavaWeb项目,我在这个项目中使用SpringMVC和hibernate,对于数据库我使用sql 我面临的问题是:我在db中有一个表作为user,在java项目中有一个表作为user.java,还有另外两个表references和messgaes。在java项目中,我有references.java和Messages.java,我创建了映射表作为user\u references\u映射(user\u id,reference\u id)和user\u Messag

嗨,我刚开始冬眠

我有一个JavaWeb项目,我在这个项目中使用SpringMVC和hibernate,对于数据库我使用sql

我面临的问题是:我在db中有一个表作为user,在java项目中有一个表作为user.java,还有另外两个表references和messgaes。在java项目中,我有references.java和Messages.java,我创建了映射表作为user\u references\u映射(user\u id,reference\u id)和user\u Messages\u映射(user\u id,reference\u id)

在用户和引用表以及用户和消息表之间有一对多的关系

当我获取用户数据时,我想从引用和消息表中获取数据

当我使用 “从用户u LEFT JOIN获取u.References,其中u.contactNo=:contactNo或u.email=:email”我获取引用表数据

那么,有谁能帮我找到解决方案吗?我如何能同时获得references表和messages表的数据,以及解决方案应该是什么

用户表中引用表和消息表的映射:

@OneToMany
@Basic(optional = true)
@BatchSize(size = 5)
@Cascade(CascadeType.ALL)
@Cache(region = IAppConstants.CACHE_REFERANCES, usage = CacheConcurrencyStrategy.READ_WRITE)
@JoinTable(name = "user_referances_mapping", joinColumns = { @JoinColumn(name = "user_id") }, inverseJoinColumns = { @JoinColumn(name = "referance_id") })
private List<Referances> referances = new ArrayList<Referances>();

@OneToMany
@Basic(optional = true)
@BatchSize(size = 5)
@Cascade(CascadeType.ALL)
@Cache(region = IAppConstants.CACHE_MESSAGES, usage = CacheConcurrencyStrategy.READ_WRITE)
@JoinTable(name = "user_messages_mapping", joinColumns = { @JoinColumn(name = "user_id") }, inverseJoinColumns = { @JoinColumn(name = "message_id") })
private List<Messages> messages = new ArrayList<Messages>();
}使用 @LazyCollection(LazyCollectionOption.FALSE)

使用消息的用户类中的关系条目

public User getC2SUserByContactNoOrEmail(final String value) throws ApplicationException {
try{
@SuppressWarnings("unchecked")
Query query = currentSession().createQuery(
        IQueryConstants.FETCH_USER_BY_CONTACTNO_OR_EMAIL);
query.setParameter("contactNo", value);
query.setParameter("email", value);
return (User) query.uniqueResult();
}catch(Exception e){
    throw new ApplicationException(
            "Issue occurred while fetching user by: " + value, e);
}
//return null;