小编Mar*_*itt的帖子

Hibernate @OneToOne @NotNull

在关系中声明@OneToOne@NotNull双方是否有效,例如:

class ChangeEntry
{
    @OneToOne(cascade=CascadeType.ALL)
    @NotNull
    ChangeEntryDetails changeEntryDetails;

    public void addDetails(ChangeEntryDetails details) {
       this.changeEntryDetails = details;
       details.setChangeEntry(this);
    }
 }

 class ChangeEntryDetails
 {
     @OneToOne(cascase=CascadeType.ALL)
     @NotNull
     ChangeEntry changeEntry;

     public void setChangeEntry(ChangeEntry changeEntry)
     {
          this.changeEntry = changeEntry;
     }
 }
Run Code Online (Sandbox Code Playgroud)

我找不到任何说这是无效的东西,但似乎在持久性过程中至少有一方必须违反.(例如,如果首先编写changeEntry,则changeEntryDetails将暂时为null).

尝试这个时,我看到一个异常抛出not-null property references a null or transient value.

如果可能的话,我想避免放松约束,因为双方都必须在场.

java orm hibernate jpa bean-validation

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

修改URI的端口

在Java中,URI该类是不可变的.

这是我目前正在修改端口的方式:

public URI uriWithPort(URI uri, int port) {
    try {
        return new URI(uri.getScheme(), uri.getUserInfo(), uri.getHost(), port,
                       uri.getPath(), uri.getQuery(), uri.getFragment());
    } catch (URISyntaxException e) {
        LOG.error("Updating URI port failed:",e);
        return uri;
    }
}
Run Code Online (Sandbox Code Playgroud)

有更简单的方法吗?

java

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

Spring Data JPA:创建一个抽象存储库

鉴于以下课程:

@MappedSuperclass
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
@DiscriminatorColumn(name="animalType",discriminatorType=DiscriminatorType.STRING)
@QueryExclude
public abstract class Animal  {}

@Entity
@DiscriminatorValue("dog")
public class Dog {}

@Entity
@DiscriminatorValue("cat")
public class Cat {}
Run Code Online (Sandbox Code Playgroud)

有可能以某种方式配置JPA存储库Animal吗?

我试过了

public interface AnimalRepository extends JpaRepository<Animal,Long>
Run Code Online (Sandbox Code Playgroud)

然而,这失败了:

java.lang.IllegalArgumentException:不是托管类型:Animal

有没有办法配置这个?

我希望能够执行以下任务:

@Autowired
private AnimalRepository repository;

public void doSomething()
{
    Animal animal = repository.findById(123);
    animal.speak();
}
Run Code Online (Sandbox Code Playgroud)

java spring spring-data spring-data-jpa

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

AngularJS:扩展内置过滤器

我想修改currency过滤器以处理输入值中的自定义货币格式.

(例如,AUD 3.00 -> $3.00).

一种选择是从头开始编写我自己的过滤器.然而,这似乎有很多重复,考虑到现有的滤镜很棒,我只需先从前面修剪几个字符.

理想情况下,我会有这样的事情:

.filter('money', function($filters) {
    return function(text){
        var currency = text.substring(4)
        return $filters('currency')(currency)
    };
});
Run Code Online (Sandbox Code Playgroud)

有可能:

  • 从另一个调用一个过滤器?
  • 访问内部方法(例如,此处formatNumber()显示

还有哪些其他选择可供我使用?

angularjs

13
推荐指数
1
解决办法
9847
查看次数

Java - 捕获System.err.println或捕获PrintStream

Java新手问题:

我需要捕获第三方组件写入printStream的文本.

PrintStream默认为System.err,但可以更改为另一个PrintStream.

浏览文档,我找不到一种简单的方法将PrintStream的内容定向到字符串编写器/缓冲区.

有人可以帮忙吗?

java io stream

12
推荐指数
3
解决办法
9311
查看次数

Hibernate 3.5.x:NoSuchMethodError:javax.persistence.OneToMany.orphanRemoval

我正在尝试升级到Hibernate 3.5.3-FINAL.

运行我的单元测试时,我现在收到以下异常:

java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z   
at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:1837)
Run Code Online (Sandbox Code Playgroud)

我的类路径包含以下JAR:

来自hibernate dist:

antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
javassist-3.9.0.GA.jar
jta-1.1.jar
slf4j-api-1.5.8.jar

cglib-2.2.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
hibernate3.jar
Run Code Online (Sandbox Code Playgroud)

其他罐子:

blazeds-common-3.2.0.3978.jar
blazeds-core-3.2.0.3978.jar
blazeds-opt-3.2.0.3978.jar
blazeds-proxy-3.2.0.3978.jar
blazeds-remoting-3.2.0.3978.jar
commons-lang-2.3.jar
dbunit-2.4.7.jar
ejb3-persistence.jar // Note, I've tried excluding this, but I get different errors
guava-r05.jar
hsqldb-1.8.0.7.jar
junit-4.1.jar
lambdaj-2.0-with-dependencies.jar
log4j-1.2.14.jar
mockito-all-1.8.0.jar
persistence-api-1.0.jar
spring-security-core-2.0.0.jar
spring.jar
sqljdbc.jar
Run Code Online (Sandbox Code Playgroud)

我研究了这个,我发现答案表明我的网络服务器必须符合JPA2标准:

不幸的是,如果您的应用服务器不符合JPA 2,那么您很可能会失败

该项目是一个库,而不是一个Web服务器项目.(虽然它最终被部署到网络服务器,但我只是在这里运行单元测试)

我错过了什么?

<indulgent_rant>

一点题外话,这是非常令人沮丧,每次我升级Hibernate中,我发现自己花了几个小时研究矛盾的罐子MethodNotFoundExceptionClassNotFoundException的.必须有一个更简单的方法吗?

我确信通过宣布他们将模块合并回一个核心项目,这些冲突会消失吗?

</indulgent_rant>

java hibernate

12
推荐指数
2
解决办法
4万
查看次数

迷恋Flex开发人员的HTML5框架

多年来,我一直作为flex dev工作,构建非常复杂的应用程序.随着最近的炒作,我有兴趣学习HTML5.

我喜欢Flex框架,它是一个用于构建RIA的一致,连贯,完整的堆栈.我喜欢它具有开箱即用的广泛组件,以及用于扩展和构建非常复杂,高度定制和皮肤化组件的框架.

HTML5空间中是否有类似的框架?

从我所做的搜索中,我看到有大量有用的.js脚本可以提供漂亮的组件,效果等.但是,我还没有找到一个具有成熟和架构组件库的可靠js框架.

这让我担心,在构建复杂的应用程序时,我可能最终会编写大量的管道代码来连接不同的组件.

我知道HTML5仍处于初期阶段,所以如果有一些我应该关注的有前景的框架,我想知道他们.

我的理想框架要求购物清单如下:

  • 实体组件架构(包括生命周期事件)
  • 扩展
  • 布局管理员
  • 浏览器不可知
  • 支持数据绑定
  • 支持复杂的皮肤
  • 服务层和协议的抽象(即,SOAP/JSON/XML服务都是一种类型IRemoteService)

与UI框架本身一起,Javascript空间中存在哪些框架

  • MVC架构.(类似于ParsleyMaté在Flex世界中)
  • 依赖注入
  • 单元测试

javascript html5 css3

12
推荐指数
1
解决办法
2760
查看次数

用于规范化音频的Java算法

我正在尝试规范化语音的音频文件.

具体来说,当音频文件包含音量峰值时,我正试图将其调高,因此安静的部分更响亮,峰值更安静.

除了我从完成这项任务中学到的东西之外,我对音频操作知之甚少.而且,我的数学很尴尬.

我做了一些研究,Xuggle网站提供了一个示例,显示使用以下代码减少音量:( 此处为完整版)

@Override
  public void onAudioSamples(IAudioSamplesEvent event)
{
  // get the raw audio byes and adjust it's value 

  ShortBuffer buffer = event.getAudioSamples().getByteBuffer().asShortBuffer();
  for (int i = 0; i < buffer.limit(); ++i)
    buffer.put(i, (short)(buffer.get(i) * mVolume));

  super.onAudioSamples(event);
}
Run Code Online (Sandbox Code Playgroud)

在这里,他们getAudioSamples()用常数修改字节mVolume.

基于这种方法,我尝试将标准化修改getAudioSamples()为标准化值,考虑文件中的最大/最小值.(详见下文).我有一个简单的过滤器来单独留下"沉默"(即,任何低于值的东西).

我发现输出文件非常嘈杂(即质量严重下降).我假设错误是在我的规范化算法中,或者是我操纵字节的方式.但是,我不确定下一步该去哪里.

这是我目前正在做的精简版.

第1步:在文件中查找峰值:

读取完整的音频文件,找到buffer.get()所有AudioSamples的最高和最低值

    @Override
    public void onAudioSamples(IAudioSamplesEvent event) {
        IAudioSamples audioSamples = event.getAudioSamples();
        ShortBuffer buffer = 
           audioSamples.getByteBuffer().asShortBuffer();

        short min = Short.MAX_VALUE;
        short max = Short.MIN_VALUE;
        for …
Run Code Online (Sandbox Code Playgroud)

java math audio

12
推荐指数
2
解决办法
6992
查看次数

Basic Spring MVC配置:使用InternalResourceViewResolver的PageNotFound

我正在尝试运行第一个Spring 3 MVC设置.

我的应用程序在tomcat上运行,在"葡萄藤"的服务器环境中运行

出于测试目的,我正在尝试从中提取请求http://localhost:8080/grapevine/test以呈现内容WEB-INF/jsp/noSuchInvitation.jsp

当我尝试这个时,我得到了一个404,并且日志表明我的jsp不存在:

WARN  org.springframework.web.servlet.PageNotFound  - No mapping found for HTTP request with URI [/grapevine/WEB-INF/jsp/noSuchInvitation.jsp] in DispatcherServlet with name 'grapevine'
Run Code Online (Sandbox Code Playgroud)

我必须在某个地方错误地配置它,但我看不出我做错了什么.

这是所有相关的片段.

web.xml中:

<servlet>
    <servlet-name>grapevine</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>grapevine</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

从我的背景来看:

<mvc:annotation-driven />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

控制器:

@Controller
public class ParticipantInvitationController {

@RequestMapping("/test")
public ModelAndView test()
{
    return new ModelAndView("noSuchInvitation");
}
Run Code Online (Sandbox Code Playgroud)

日志:

DEBUG org.springframework.web.servlet.DispatcherServlet  - Rendering view [org.springframework.web.servlet.view.JstlView: name 'noSuchInvitation'; URL [/WEB-INF/jsp/noSuchInvitation.jsp]] in DispatcherServlet …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc url-pattern

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

Ant:如何编译包含源附件的jar

如何使用包含源附件的Ant创建jar?

Maven做到了这一点,但我从03年起就开始没有maven了(好吧,2009年,但它没有押韵).

我无法在javac任务中看到任何选项.

我尝试将源.java文件包含在传递给javac任务的文件集中,但这不起作用.当我尝试通过Eclipse之类的东西查看源代码时,我仍然可以获得"无源附件"显示.

有什么建议?

java ant

10
推荐指数
1
解决办法
7101
查看次数