我的 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) 我尝试根据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。在哪里可以找到生成的代码?
我正在使用 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 的工具吗?
先感谢您,