小编the*_*mer的帖子

Spring Data Jpa OneToMany 同时保存子实体和父实体?

这是我的父实体。注意:为简洁起见,删除 getter、setter、lombok 注释。

@Entity
public class Board {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String title;

    @OneToMany(mappedBy = "board")
    private Set<Story> stories = new HashSet<>();
}
Run Code Online (Sandbox Code Playgroud)

下面是我的子实体

@Entity
public class Story {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String title;

    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinColumn(name = "board_id")
    @JsonIgnore
    private Board board;
}
Run Code Online (Sandbox Code Playgroud)

每个Board可以有多个Story,但每个都Story属于单个Board

现在在我的服务中的某个地方,我正在这样做:

public void addBoard(BoardDTO boardDto){
    // create a new board object which is …
Run Code Online (Sandbox Code Playgroud)

java spring set spring-data spring-boot

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

HTTP流和服务器发送事件有什么区别?

我的理解是HTTP流式传输涉及客户端发送HTTP请求,然后响应随时间发送的请求,允许服务器基本上推送到客户端.在我所看到的情况下,SSE似乎按照相同的原则运作,但更为正式化.这接近正确的理解吗?

我看到了这些问题,但他们并没有直接回答我的问题.

HTTP:流水线,保持活动和服务器发送事件之间的关系是什么? 什么是长轮询,Websockets,服务器发送事件(SSE)和Comet?

我还查看了这个https://www.html5rocks.com/en/tutorials/eventsource/basics/#disqus_thread 教程来设置SSE,看起来我想象的是如何设置HTTP流.

http node.js http-streaming server-sent-events

7
推荐指数
2
解决办法
1109
查看次数

如何在java spring boot中将字节数组作为内存文件返回?

我有一个字节数组作为数据。现在,如何使用 Spring Boot 编写一个控制器方法来将此字节数组作为文件返回?如果我用这个字节数组数据创建一个文件,那么我还应该删除它,对吗?

有没有办法将此字节数组作为文件发送,而不必在我的项目中物理创建文件,也许通过网络或其他方式发送所有字节?

但是,如果这是不可能的,那么创建文件、在 REST API 中响应然后删除它是解决这个问题的唯一方法吗?我的控制器方法在 Spring Boot 中看起来像这样

@GetMapping("/download")
public ResponseEntity<Resource> download(String param) throws IOException {
    // Assume I already have this byte array from db or something
    Byte[] a = getItFromDB();

    // return it as a file without explicitly creating another file in my machine
    // I am ok with changing return type of this method from ResponseEntity to anything else if you have a solution
}
Run Code Online (Sandbox Code Playgroud)

java arrays spring file spring-boot

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

为什么Intellij代码覆盖率和jacoco代码覆盖率显示不同的百分比?

我在intellij中有一个gradle项目(java)。我右键单击intellij中的项目,然后运行Run Tests in projectName with coverage,该项目在右侧创建了一些测试报告。在那右边,我有像

| Class, %   | Method, %   | Line, %
--------------------------------------
80%(80/100)  50%(100/200)  30%(30/100)
Run Code Online (Sandbox Code Playgroud)

注意:以上数字仅作为示例。这些不是真实的。

现在,我进入命令行并运行gradlew jacocoTestReport,它给出了different set of numbersMethod和Line,但是Class numbers were same。为什么在这种情况下会有差异?

有没有一种方法可以从命令行运行intellij的代码覆盖范围,而不是右键单击?

我只是想知道Intellij是否使用不同的方式来计算这些数字,而不是jacoco。但是即使在那种情况下,我的假设是只有一种方法可以计算东西对吗?还是intellij或jacoco不计算包含Lombok注释等的类,从而减少了最终计数中方法(获取器和设置器)的数量?

java code-coverage intellij-idea gradle jacoco

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

如何在ideavim中为IntelliJ获取绝对和相对行号?

我正在为我的项目使用 IntelliJ IDE,并且刚刚安装了ideamvim 插件。在.ideavimrc我添加了这个属性

set rnu

有了这个属性,我在 intellij 的文件中得到了相对的行号,这太棒了。但我ALSO得到绝对的行号?在我的 vscode 中,我有绝对行号和相对行号,所以我想知道是否有可能在 intellij 中获得相同的行为?

即使我必须在 Intellij 中安装一个新插件才能使此功能正常工作,我也很好。

谢谢

vim intellij-idea intellij-plugin vim-plugin ideavim

6
推荐指数
4
解决办法
4105
查看次数

(char*)0是什么意思?

这是一个关于这个问题的问题: (char*)0在c中是什么意思?

答案稍微偏离了解释究竟是什么答案,但最后的答案提到它是一个指向地址0处的字符的指针,它是空的.这给我带来了两个疑问.

  1. 在c中,我们可以给char*9并说它是指向地址9的指针吗?我们不会收到任何错误或警告吗?

  2. 好吧,假设(char*)0确实是指向地址0处字符的指针,但这个地址0是什么意思?我的意思是我们怎么能说它是空的呢?在那种情况下,(char*)1或(char*)2等的值是多少?

编辑:只是把它放在这里是否有帮助.当我发现execllinux系统调用中的最后一个参数为null并且我看到了一个相当奇怪的语法时,我初步搜索了这个问题:(char*)0.

谢谢.

c null pointers char-pointer

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

如何使用react hook useState添加到对象?

请看一下这个代码片段。

function App() {
  useEffect(() => {
    document.addEventListener('keydown', onKeyDown);
  }, []);

  const onKeyDown = e => {
    setKeyMap({ ...keyMap, [e.keyCode]: true });
  };

  const [keyMap, setKeyMap] = useState({});

  // JSON.stringify gives only one key-value pair
  return (
    <div className="App">
      <h1>Hello {JSON.stringify(keyMap)}</h1>
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

因此,使用useEffect,我keydown只向事件添加一次事件侦听器。这显然与 componentDidMount 类似,因为这只发生一次。

在 keydown 事件的事件处理程序中,我尝试添加所有被按下为 true 的键码。

假设我按“a”,那么我的 keyMap 应该如下所示:

{
    "65": true
}
Run Code Online (Sandbox Code Playgroud)

现在,如果我按“b”,那么我的 keyMap 应该如下所示:

{
    "65": true,
    "66": true
}
Run Code Online (Sandbox Code Playgroud)

但发生的事情是这样的:

{
    "66": true
}
Run Code Online (Sandbox Code Playgroud)

为什么我无法改变以前的状态并添加到它?就像我以前有“65”作为键,但是当我按下键盘上的另一个键时,这个“65”键值突​​然消失了。也就是说,在任何给定点,one由于某种原因,只有键值对存在。我希望能够多次添加到这个对象(我的意思是 …

immutability keydown reactjs react-hooks

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

Spring @RequestBody没有使用pojo?

我正在使用Spring Boot,我在我的控制器中有一个这样定义的方法

@PostMapping("/update)
public void update(@RequestBody User user) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是在我的客户请求(例如前端或邮递员)中,我有这样的事情:

{
    "firstName" : "John",
    "lastName" : "Doe",
    "id" : 1234,
    "metaInfoId" : "5457sdg26sg4636"
}
Run Code Online (Sandbox Code Playgroud)

事情是我的用户pojo只有firstName,id并且lastName实例字段在其中.但是在我的请求中我have to send metaInfoId也有其他一些需求.那么如何在上面的控制器方法中检索或分离metaInfoIdUser建模呢?

我是否必须创建另一个调用的模型类UserModelRequest并将所有User字段与字段一起添加metaInfoId然后使用@RequestBody?有没有办法简单地metaInfoId从请求中删除,然后采取其他一切并将其转储到Userpojo?例如,您可以在nodejs中轻松完成此操作(只需拼接您的对象并获取所需内容).

那么有没有办法在java spring中完成它而不必创建另一个模型类?

java spring pojo gson

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

为什么javascript中的yield yield生成器的迭代次数错误?

所以这是我正在尝试使用的代码片段.

function* genBubble(arr) {
  for (let i = 0; i < arr.length - 1; i++) {
    for (let j = 0; j < arr.length - i - 1; j++) {
      yield arr; // returning arr after every iteration
      if (arr[j] > arr[j + 1]) {
        swap(arr, j, j + 1); // removed swap for brevity
      }
    }
  }
}
const tempArray = [3, 5, 8, 4, 1, 9, -2];
const genForLoop = genBubble(tempArray);

do {
  console.log(genForLoop.next());
} while (!genForLoop.next().done);
Run Code Online (Sandbox Code Playgroud)

这是一个简单的冒泡排序实现.如你所知,冒泡排序有 …

javascript iteration generator yield-keyword bubble-sort

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

Spring Data Jpa 删除删除映射上的外键行?

这是我的第一个实体。

@Entity
@Table(name = "person")
public class Person {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;    

    private String firstName;
    private String lastName;

    // Removed other stuff for brevity
}
Run Code Online (Sandbox Code Playgroud)

这是我的第二个实体

@Entity
@Table(name = "membership")
public class Membership {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;

    private String membershipType;

    // Help here, I need another column called person_id which is what will correspond 
    // to persons or person rows from person table
}
Run Code Online (Sandbox Code Playgroud)

本质上,在person表中我们将有n人员(n行)。在membership …

hibernate jpa one-to-many cascading-deletes spring-data-jpa

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

多个互斥锁如何工作?

我正在学习 POSIX 线程,我的教授已经开始教授第一个读写器问题。这是我关于解决问题的伪代码(仅适用于第一种情况:读者的偏好)。

semaphore rw_mutex = 1; /* semaphore common to both reader & writer */
semaphore mutex = 1; /* semaphore for reading (reader lock) */
int read_count = 0; /* track number of readers in CS */


Writer:
do {
lock(rw_mutex);
/* ensure no writer or reader can enter */
...
/* writing is performed */
...
unlock(rw_mutex);
/* release lock */
} while (true);


Reader:
do
{
lock(mutex);
/* first update read_count atomically */
read_count++;
if (read_count …
Run Code Online (Sandbox Code Playgroud)

c linux multithreading mutex pthreads

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