小编Ale*_*nes的帖子

Hibernate HQL中的"where exists"

如何在HQL中编写"不存在"查询?我试图获得一个HQL不存在的查询,它返回与此Oracle SQL查询相同的结果:

select *
from SCHOOL a
where not exists (select 1
from STUDENT b
where B.SCHOOL_ID=a.id
and B.STATUS_ID not in (0,1,2,3,4))
Run Code Online (Sandbox Code Playgroud)

我的映射文件如下:

  <!-- primary key ommitted -->
<set name="students"
     cascade="all" fetch="select" lazy="false" >
    <key column="SCHOOL_ID" />
    <one-to-many class="com.companyname.Student" />
</set>
</class>
Run Code Online (Sandbox Code Playgroud)

  <!-- primary key ommitted -->
 <many-to-one name="school" 
              column="SCHOOL_ID"
              class="com.companyname.School" fetch="join" lazy="false"/>

 <many-to-one name="status"
        class="com.companyname.Status" column="STATUS_ID" />
</class>
Run Code Online (Sandbox Code Playgroud)

我在School.hbm.xml文件中尝试了以下标记

<query name="myQuery">
    <![CDATA[
    from School s where not exists from Student st
    where st.school_id=s.id and st.status.id not in (0,1,2,3,4)
    ]]> …
Run Code Online (Sandbox Code Playgroud)

java orm hibernate hql

34
推荐指数
1
解决办法
6万
查看次数

FragmentManager中的NullPointerException

我正在使用Android兼容性库,偶尔会变得很奇怪NullPointerException:

java.lang.NullPointerException
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:960)
    at android.support.v4.app.FragmentManagerImpl.performPendingDeferredStart(FragmentManager.java:768)
    at android.support.v4.app.FragmentManagerImpl.startPendingDeferredFragments(FragmentManager.java:1104)
    at android.support.v4.app.LoaderManagerImpl$LoaderInfo.onLoadComplete(LoaderManager.java:410)
    at android.support.v4.content.Loader.deliverResult(Loader.java:103)
    at android.support.v4.content.CursorLoader.deliverResult(CursorLoader.java:81)
    at android.support.v4.content.CursorLoader.onStartLoading(CursorLoader.java:126)
    at android.support.v4.content.Loader.startLoading(Loader.java:197)
    at android.support.v4.app.LoaderManagerImpl$LoaderInfo.start(LoaderManager.java:262)
    at android.support.v4.app.LoaderManagerImpl.doStart(LoaderManager.java:710)
    at android.support.v4.app.Fragment.onStart(Fragment.java:981)
    at android.support.v4.app.Fragment.performStart(Fragment.java:1332)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:906)
    at android.support.v4.app.FragmentManagerImpl.attachFragment(FragmentManager.java:1240)
    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:612)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416)
    at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:431)
    at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:139)
    at android.support.v4.view.ViewPager.populate(ViewPager.java:804)
    at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:433)
    at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:405)
    at android.support.v4.view.ViewPager.setCurrentItem(ViewPager.java:386)
    ...
Run Code Online (Sandbox Code Playgroud)

显然,我做错了什么让它FragmentManager进入这样一个可能会崩溃的状态,但我不知道是什么.在相关的代码FragmentManagerImpl没有提供我任何线索.我猜mActivitynull在某种程度上在代码中的那一点?但这似乎是不可能的,因为活动已经在屏幕上,我没有添加任何片段 - 只是在它们之间切换ViewPager.

java android android-fragments android-support-library

28
推荐指数
2
解决办法
3万
查看次数

Spring RestTemplate给出"500"错误但是相同的URL,凭证在RestClient和Curl中起作用

Url,Credentials在RestClient UI以及Curl中工作,因为当通过Spring RestTemplate访问相同内容时,我遇到"500"错误.

我使用以下代码:

MultiValueMap<String, Object> map = new LinkedMultiValueMap<String, Object>();
map.add("name", user);
map.add("password", password);
restTemplate.postForObject(url, request, Employee.class, map);
Run Code Online (Sandbox Code Playgroud)

请告诉我您的建议或意见以解决问题.

spring

15
推荐指数
4
解决办法
7万
查看次数

带有Spring的JavaMail - 缺少进口

我得到了一个

导入无法解决

以下导入的错误,

import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
Run Code Online (Sandbox Code Playgroud)

我在类路径中有以下库,但我不确定哪个jar文件具有上述导入.有人有任何想法吗?

     org.springframework.aop-3.1.1.RELEASE.jar
     org.springframework.asm-3.1.1.RELEASE.jar
     org.springframework.beans-3.1.1.RELEASE.jar
     org.springframework.context-3.1.1.RELEASE.jar
     org.springframework.core-3.1.1.RELEASE.jar
     org.springframework.expression-3.1.1.RELEASE.jar
     org.springframework.jdbc-3.1.1.RELEASE.jar
     org.springframework.orm-3.1.1.RELEASE.jar
     org.springframework.web-3.1.1.RELEASE.jar
Run Code Online (Sandbox Code Playgroud)

java spring

7
推荐指数
1
解决办法
1万
查看次数

Hibernate不会创建我的表

我使用Spring和Hibernate时遇到了一个奇怪的问题.我在hibernate.cfg.xml中开始使用Hibernate:

<property name="hbm2ddl.auto">create</property>
Run Code Online (Sandbox Code Playgroud)

它工作正常,Hibernate成功创建了数据库中所需的表.现在我使用Spring,我在applicationContext.xml中用于hibernate的bean看起来像这样:

<bean id="mySessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="myDataSource" />
    <property name="mappingResources">
        <list>
            <value>domain/Entity.hbm.xml</value>
            <value>domain/Service.hbm.xml</value>
            <value>domain/User.hbm.xml</value>
            <value>domain/Arcos.hbm.xml</value>
        </list>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
            <prop key="hibernate.hbm2dll.auto">create</prop>
        </props>
    </property>
</bean>
Run Code Online (Sandbox Code Playgroud)

我不得不在某些时候删除Hibernate创建的表,但Spring不会创建它们.我试过create-drop而不是create(以防万一有人问).我的数据库模式已经改变,因为我使用了Hibernate并且我getBeans("...");在我的代码中使用了很多,所以有点困扰我只重用我的Hibernate版本来创建表.我也可以手工创建表,但是使用这些框架有什么意义呢?

我确定我在某处做错了什么,但我找不到它.控制台提示错误,指出没有名为"表名" 的表,因此它成功连接到数据库.

谢谢你的时间 :)

java spring hibernate java-ee

4
推荐指数
1
解决办法
3597
查看次数

使用load而不是使用Hibernate获取时遇到LazyInitializationException

嗨伙计们,我在这里遇到一个奇怪的问题,我在控制器类中使用JPA,Hibernate和Spring MVC,当我在Web浏览器中测试它们时,所有方法都很有效除了:public String getModuleFormation(long id)返回一个对象的方法,它给我以下错误:

org.hibernate.LazyInitializationException: could not initialize proxy - no Session
Run Code Online (Sandbox Code Playgroud)

作为一个根本原因,但昨天我尝试了它在localhost中没有问题:45045/GestionModules/detail/xx URL请问什么会导致这个问题以及解决方案是什么,谢谢detail.jsp:

<c:if test="${!empty detailModule}">

${detailModule.idModule}
${detailModule.libModule}
</c:if>
Run Code Online (Sandbox Code Playgroud)

POJO Class + JPA:

@Entity
@Table(name="ModuleFormation")
public class ModuleFormation {

private long idModule;
private String libModule;

public ModuleFormation() {
    // TODO Auto-generated constructor stub
}

public ModuleFormation(String libModule) {
    this.libModule = libModule;
}

@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "seqModule")
@SequenceGenerator(name="seqModule", sequenceName = "seqModuleFormation")
@Column(name="idModule")
public long getIdModule() {
    return this.idModule;
}

public void setIdModule(long idModule) {
    this.idModule = …
Run Code Online (Sandbox Code Playgroud)

java spring jsp hibernate

3
推荐指数
1
解决办法
6282
查看次数