小编Omb*_*lin的帖子

Spring Data JPA:存储库DeleteById方法不起作用

我的 Spring Data JPA 存储库有一个我不明白的问题。我有以下实体:


@Entity
public class Ability {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Integer id;
    private String name;
    private String color;
    private String image;

    @ManyToOne(
            fetch = FetchType.EAGER
    )
    private Subject subject;

    @OneToMany(
            mappedBy = "ability",
            cascade = CascadeType.ALL,
            orphanRemoval = true,
            fetch = FetchType.EAGER
    )
    private Set<Technology> technologies;
Run Code Online (Sandbox Code Playgroud)

以及该实体的 JPA 存储库。我不明白的是,当我使用deleteByIdJpa 存储库的方法时,记录不会从数据库中删除。奇怪的是,它在我使用 InMemory 数据库的集成测试中运行良好。如果我deleteById用以下内容覆盖它,它就会起作用:

    @Modifying
    @Query("DELETE FROM Ability a WHERE a.id = :id")
    void deleteById(@Param("id") Integer id);
Run Code Online (Sandbox Code Playgroud)

但我怀疑我不应该这样做。该方法有任何线索无法按预期工作吗?

编辑:添加端点源代码

@RestController
@RequestMapping("/subjects/{subjectId}/abilities")
public class …
Run Code Online (Sandbox Code Playgroud)

java spring jpa spring-data-jpa spring-boot

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

.NET 6 的 System.Text.Json 源代码生成在哪里存储其代码?

我尝试根据MS Docs:How to use source Generation in System.Text.Json 来实现基于源生成的 JSON 序列化。我的代码如下:

using System;
using System.Text.Json;

var person = new Person(){FirstName = "John", LastName = "Shepard"};
Console.WriteLine(JsonSerializer.Serialize(person));

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和我的 SerializationContext:

[JsonSerializable(typeof(Person))]
public partial class PersonJsonContext : JsonSerializerContext
{

}
Run Code Online (Sandbox Code Playgroud)

System.Text.Json我的项目中安装了 6.0.0 版本。

但是运行时dotnet build,我的类中没有生成任何代码PersonJsonContext。在哪里可以找到生成的代码?

.net c# system.text.json sourcegenerators

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

在 AvaloniaUI 中,如何显示来自 Web URL 的图像?

我正在使用 ReactiveUI 和 MVVM 开发 Avalonia 应用程序。我想显示来自网址的图像,实现此目的的最佳操作方案是什么?我设置了以下绑定:

                this.OneWayBind(
                    ViewModel,
                    vm => vm.UserProfileImageUrl,
                    v => v.ProfileImage.Source,
                    ImageConverter
                ).DisposeWith(disposables);
Run Code Online (Sandbox Code Playgroud)

和绑定适配器:

        private IImage ImageConverter(string arg)
        {
        
        }
Run Code Online (Sandbox Code Playgroud)

但我不知道如何实现 Binding 适配器来下载图像而不阻塞 UI。Android 上有类似 Glide 的工具吗?

先感谢您,

.net c# image reactiveui avaloniaui

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