我正在开发 API 级别 19 (KitKat) 的应用程序。
我有一个LocalDateTime对象和一个Duration对象。我需要将此添加Duration到LocalDateTime.
Android Studio 显示该类的plus(TemporalAmount)方法LocalDateTime自 API 级别 26 即 Oreo 以来可用,并且目前支持不到 1% 的设备。
我怎样才能用 API 级别 19 做到这一点?
我正在使用 Hibernate 制作 Spring 应用程序,我只是想让我的实体之间的关系正常工作。我为所有外键设置了注释,现在出现“实体映射中的重复列”错误。我试图在 SO 上找到解决方案,但我并没有真正理解一些答案,而且我认为它们不适用于我的代码。我之前在另一个项目中遇到过这个问题,其中所有 ID 字段都被命名id,当我明确定义列名@Column(name = "")并在@JoinColumn参数中键入该名称时,它起作用了。现在我遇到了同样的错误,但是为 ID 字段定义显式名称并没有帮助。
这是我的实体类:
@Entity
public class Task implements Serializable, Discussable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "task_id")
private long id;
private String name;
@ManyToMany
@JoinTable(
name = "user_task",
joinColumns = @JoinColumn(name = "task_id"),
inverseJoinColumns = @JoinColumn(name = "user_id")
)
private Set<User> assigneeUsers;
@Enumerated(EnumType.ORDINAL)
private Status status; //alt + enter
private Priority priority;
private Date deadline;
private String description;
@ManyToOne
@JoinColumn(name = "task_id") …Run Code Online (Sandbox Code Playgroud) 我想知道在 Kotlin 中构建函数式代码的最佳方式是什么。
我不想创建不必要的对象(并将函数放在封闭的范围内)来对我的函数进行分组。我听说我可以按包对函数进行分组并将它们放在包的顶层。我还在 Arrow 库中看到函数作为扩展函数分组在接口伴随对象中,这看起来是最好的,除了我需要创建一个伴随对象。
对象方式:
object Container {
fun myFunc() = ...
}
...
Container.myFunc()
Run Code Online (Sandbox Code Playgroud)
包装方式:
package myPackage
fun myFunc() = ...
...
myPackage.myFunc()
Run Code Online (Sandbox Code Playgroud)
箭头方式:
interface Container {
companion object {
fun Container.myfunc() = ...
}
}
...
Container.myFunc()
Run Code Online (Sandbox Code Playgroud)
使用 Kotlin 构建我的函数并对其进行分组的最佳方法是什么?我想保持纯函数式风格,避免创建任何类型的对象,并且能够通过命名空间轻松导航到函数,例如:
Person.Repository.getById(id: UUID)