小编Dan*_*iel的帖子

使用左连接提取重复

我正在使用HQL查询来获取某些记录.如果我使用LEFT JOIN FETCH我的目标实体中的集合将包含重复记录.如果我只使用左连接,它不会.我想当Hibernate懒惰地加载记录时,它避免了重复.

"SELECT z FROM ", TableA.TABLE_NAME, " z ",  //
            "LEFT JOIN FETCH z.attributeX pv ", //
            "LEFT JOIN FETCH pv.attributeY anteil ", //
            "LEFT JOIN FETCH z.attributeB kma ", //
            "LEFT JOIN FETCH kma.attributeC ", //
            "WHERE anteil.attributeD.attributeE.id = :eId ", //
            "AND pv.attributeG.id = :gId ");
Run Code Online (Sandbox Code Playgroud)

我的实体TableA有一个指向TablePV(LEFT JOIN FETCH z.attributeX pv)的链接

TablePV有一个TableY(LEFT JOIN FETCH pv.attributeY anteil)的集合

现在Hibernate将正确映射所有内容,除了孩子们TablePV.它将包含几次相同的记录.一个明显的TableA没有帮助,因为那里没有重复.我可以手动删除那些非常不合适的记录.

hibernate jpa hql left-join fetch

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

未调用Java EE Scheduler

我在Glassfish中运行我的应用程序.我尝试创建一个作业,每5分钟执行一次,如下所示:

@Startup
@Singleton
@LocalBean
public class TempFolderCleaner {
    private final static Logger LOGGER = LoggerFactory.getLogger(TempFolderCleaner.class);

    @EJB
    private ReportStatusDao reporStatusDao;

    @Schedule(minute = "*/5")
    public void removeOldReports() {
        LOGGER.debug("start removeOldReports()");
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,它永远不会被称为.我试图从记录器中看到一条消息并设置一个调试点但不会被调用.我将此文档用于语法:http://download.oracle.com/javaee/6/tutorial/doc/bnboy.html

我也试着准确地指定分钟.不幸的是,没有成功.

glassfish scheduler java-ee

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

无法解析app模块的参数

我正在尝试使用角度为1.6和5的混合应用程序.手动引导有效.一旦我尝试引导混合应用程序,我就会收到以下错误:

compiler.js?7e34:466未捕获错误:无法解析AppModule的所有参数:(?).at syntaxError(eval at(app.bundle.js:1852),:684:34)at CompileMetadataResolver._getDependenciesMetadata(eval at(app.bundle.js:1852),:15765:35)at CompileMetadataResolver._getTypeMetadata(eval at( app.bundle.js:1852),:15600:26)at CompileMetadataResolver.getNgModuleMetadata(eval at(app.bundle.js:1852),:15399:24)at JitCompiler._loadModules(eval at(app.bundle.js: 1852),:33760:87)在JitCompiler._compileModuleAndComponents(eval at(app.bundle.js:1852),:33721:36)at JitCompiler.compileModuleAsync(eval at(app.bundle.js:1852),:33637: 37)at CompilerImpl.compileModuleAsync(eval at(app.bundle.js:1864),:245:49)at PlatformRef.bootstrapModule(eval at(app.bundle.js:229),:5646:25)at eval(eval) at(app.bundle.js:827),:76:53)

app.ts

platformBrowserDynamic().bootstrapModule(AppModule);

app.module.ts

import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {UpgradeModule} from '@angular/upgrade/static';

@NgModule({
    imports: [
        BrowserModule,
        UpgradeModule
    ]
})
export class AppModule {
    constructor(private upgrade: UpgradeModule) {
    }

    ngDoBootstrap() {
        this.upgrade.bootstrap(document.documentElement, ['myApp']);
    }
}
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "module": "commonjs",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": …
Run Code Online (Sandbox Code Playgroud)

ng-upgrade angular

8
推荐指数
1
解决办法
517
查看次数

Spring Boot 2 - 禁用 Envers

如何Hibernate Envers在 Spring Boot 2 中禁用?我不想删除依赖项,因为代码依赖于它取决于环境。

我在我的中尝试了以下属性,application.properties但没有奏效。启动时总是打印envers enabled = true

spring.hibernate.integration.envers.enabled=false
hibernate.integration.envers.enabled=false
spring.jpa.hibernate.integration.envers.enabled=false
Run Code Online (Sandbox Code Playgroud)

hibernate-envers spring-boot

5
推荐指数
1
解决办法
3348
查看次数

AngularJS选择预选不起作用

即使对象相等,预选在选择字段中也不起作用:

<select ng-show="isEditMode(todo.id)" id="assignee" name="assignee" 
        ng-model="todo.assignee" required 
        ng-options="user.name for user in users">
</select>
Run Code Online (Sandbox Code Playgroud)

todo.assignee包含一个用户对象,该对象应与用户匹配.

似乎Angular无法识别来自todo.assignee的User对象包含在用户中.我可以手动执行此映射吗?

显示选择时未选择任何值.我可以选择一个用户(来自用户)并保存记录没有任何问题.

调节器

$scope.todos = Todo.query();
$scope.users = User.query();
Run Code Online (Sandbox Code Playgroud)

更新

按照评论中的要求.给定对象的结构: $ scope.todos

 [
{
    "id": 157,
    "description": "my description 0",
    "deadline": 1392073200000,
    "assignee": {
        "id": 34,
        "name": "User 1",
        "email": "user1@hotmail.com"
    },
    "comment": "my comment 0",
    "done": true
}
...
]
Run Code Online (Sandbox Code Playgroud)

$ scope.users

[
{
    "id": 34,
    "name": "User 1",
    "email": "user1@hotmail.com"
},
{
    "id": 35,
    "name": "User 2",
    "email": "xxc@gmail.com"
},
{
    "id": 36, …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

0
推荐指数
1
解决办法
7273
查看次数