小编JBC*_*BCP的帖子

Hibernate updatable = false UUID字段已更新

我正在使用Spring Data JPA和Hibernate,并且在@Column注释上遇到了updatable = false属性.

我有一个基类用于我的所有@Entity对象,其UUID定义如下:

@MappedSuperclass
@Getter @Setter @EqualsAndHashCode(of= {"uuid"})
public abstract class AbstractEntity implements Persistable<Long> {

    @Id
    @GeneratedValue(strategy = AUTO)
    @Column(unique = true, updatable = false)
    private Long id;

    @Column(unique = true, updatable = false)
    private UUID uuid = UUID.randomUUID();

}
Run Code Online (Sandbox Code Playgroud)

注意updatable = false注释.

为了验证UUID字段实际上是不可更新的,我已经写了这个测试:

@Test
public void testChangeUUID() {

    User user = userRepo.findOne(1L);

    assertNotNull(user);
    assertEquals(USER_UUID, user.getUuid().toString());

    final UUID newUuid = UUID.randomUUID();

    user.setUuid(newUuid);

    user = userRepo.save(user);

    assertEquals(newUuid, user.getUuid());

    User user2 = userRepo.findOne(1L); …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa spring-data-jpa

9
推荐指数
2
解决办法
2417
查看次数

RxJs:如何基于observable的状态循环?

我试图让RxJs循环遍历我的流中的Observable,直到它处于某种状态,然后让流继续.具体来说,我正在将同步do/while循环转换为RxJs,但我假设同样的答案也可以用于for或while循环.

我认为我可以使用doWhile(),但似乎条件函数无法访问流中的项目,这似乎打败了我的目的.

我不完全确定正确的反应术语对于我想要的是什么,但这里有一个我想要的例子:

var source = new Rx.Observable.of({val: 0, counter: 3});

source.map(o => {
  o.counter--;
  console.log('Counter: ' + o.counter);

  if (!o.counter) {
    o.val = "YESS!";
  }
  return o;
})
.doWhile(o => { 
  return o.counter > 0; 
})
.subscribe(
    function (x) {
        console.log('Next: ' + x.val);
    },
    function (err) {
        console.log('Error: ' + err);   
    },
    function () {
        console.log('Completed');   
    });
Run Code Online (Sandbox Code Playgroud)

预期的产出是:

Counter: 3
Counter: 2
Counter: 1
Counter: 0
Next: YESS!
Completed
Run Code Online (Sandbox Code Playgroud)

假设这是一个可解决的问题,我不清楚如何标记循环时想要返回的"开始".

javascript reactive-programming rxjs

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

是否有JSTL EL(表达式语言)等同于<c:url />

我们使用tomcat urlrewrite插件来重写出站URL和入站URL.为此,您需要使用JSTL标记.

这适用于干净的网址和i18n,但它会产生丑陋的代码,包括标签内的标签,如下所示:

<link href='<c:url value="/content/bootstrap/css/bootstrap.css" />' rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

要么:

<a href='<c:url value="/nextPage.jsp"/>' />Next Page</a>
Run Code Online (Sandbox Code Playgroud)

一种替代方法是使用变量,如下所示:

<c:url value="/nextPage.jsp" var="nextPageUrl"/>
<a href='${nextPageUrl}' />Next Page</a>
Run Code Online (Sandbox Code Playgroud)

这真的很干净,但很冗长.

是否有表达式语言友好的方式来做到这一点?

我有点希望得到类似的东西:

<a href='${url "/nextPage.jsp}' />Next Page</a>
Run Code Online (Sandbox Code Playgroud)

谢谢.

jsp jstl el

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

如何从环回中的远程方法返回特定的http状态代码?

我想知道是否有办法从远程方法中返回特定的HTTP状态代码.

我可以看到有一个回调函数,我们可以传递一个错误对象,但我们如何定义HTTP状态代码?

strongloop loopbackjs

8
推荐指数
2
解决办法
7917
查看次数

在ES6中将数组解构为函数参数的语法

在Javascript 2015/ES6/ECMAScript 2015中有大量关于如何构造作为函数参数传递的对象的文档,其功能如下:

function foo({a, b}) {
   console.log(`a: ${a}, b: ${b}`);
}
Run Code Online (Sandbox Code Playgroud)

但是如何构造数组参数?

javascript ecmascript-6

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

Jenkins,如果任何上游工作失败或不稳定,阻止或失败

如果任何上游作业失败或不稳定,阻止或失败Jenkins下游作业的最佳方法是什么?

目前我已经获得了"当上游项目正在建设时阻止构建"选项,并且当我的下游工作正在等待所有上游工作完成构建时,该工作正常.但是,如果任何上游失败或不稳定,我不想建立工作.

谢谢

jenkins

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

如何在CircleCI构建中使用安全文件?

我正在尝试在CircleCI上构建一个需要访问安全文件的项目.我不能使用环境变量,它必须是文件的形式.在我的例子中,它特别是一个Maven settings.xml文件,但还有其他用例.我能做什么?

maven-3 maven circleci

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

RxJS:如何让一个Observer处理多个Observables?

我正在使用一个调用我实现的函数的框架.我希望将此函数的参数转换为Observable,并通过一系列Observers发送.我以为我可以使用一个主题,但它没有像我预期的那样表现.

为了澄清,我有类似下面的代码.我认为Option 1下面会有效,但到目前为止我一直在努力Option 2,这似乎不是惯用语.

var eventSubject = new Rx.Subject();
var resultSource = eventSubject.map(processEvent);
var subscription = resultSource.subscribe(
    function(event) {
        console.log("got event", event);
    },
    function(e) {
        log.error(e);
    },
    function() {
        console.log('eventSubject onCompleted');
    }
);

// The framework calls this method
function onEvent(eventArray) {

   var eventSource = Rx.Observable.from(eventArray);

   // Option 1: I thought this would work, but it doesn't
   // eventSource.subscribe(eventSubject);

   // Option 2: This does work, but its obviously clunky
  eventSource.subscribe(
      function(event) {
          log.debug("sending to subject");
          eventSubject.onNext(event); …
Run Code Online (Sandbox Code Playgroud)

javascript reactive-programming rxjs

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

沿着三个路径或样条曲线移动对象

我试图沿Three.js中的路径移动一个对象.我想以"构造"的方式构建路径,使用这样的Path对象:

var path = new THREE.Path([
    new THREE.Vector2(0, 0),
    new THREE.Vector2(0, inDistance)
]);

path.arc(arcRadius, 0, arcRadius,
    Geo.rad(180), Geo.rad(90), true);

path.lineTo(arcRadius + outDistance, arcRadius + inDistance);
Run Code Online (Sandbox Code Playgroud)

然后我可以使用path.getPoint(t)path.getTangent(t)获取我的对象的更新位置:

    let position = path.getPoint(percentTraveled);
    let tangent = path.getTangent(percentTraveled);

    state.model.position.x = position.x;
    state.model.position.y = position.y;
Run Code Online (Sandbox Code Playgroud)

这有两个问题:

  • 路径仅为2D
  • Path对象无法转换为对象的位置和方向,因此返回的位置和切线是绝对位置.

我已经阅读了这个问题,它讨论了如何使用a SplineCurve3沿路径移动,但是这个解决方案并没有解释如何构建一个由一组线和弧构成的样条.

你是怎样做的?

javascript three.js

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

如何在Maven中启用Ebean Enhancement?

我一直在使用Avaje.org ebean ORM层,但我不明白如何使用Maven 启用"Ebean v2.6.0用户指南"中描述的字节码增强功能.

我在Avaje.org主页上找到了一个配置示例,但它不起作用.GitHub上的演示Maven样板也没有.

救命!

java maven-plugin maven-3 maven ebean

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