小编Mar*_*ahn的帖子

持久扩展类的适当方法是什么?

考虑图:

图片

我一直在JPA工作了很短的时间,到目前为止,我从来没有需要坚持扩大班......你可以通过的例子,看SNMPNode,IPNode等是从所有的扩展类Node,它也从延长GeoLocation.

我知道我可以使用and 来修改主类,@MappedSuperclass并且将继承它们的属性以便持久化......但是在这种情况下,我将得到几乎相同的表,据我所知,我可以将所有信息分组到节点并使用单个表.IPNodeSNMPNode

这是JPA工作或我的概念上的扩展类的持久性是错误的吗?

与恢复的代码相同:

public class Node extends GeoLocation {
    private String name;
    private Group group;
    private Location location;
    private Type type;
    private Company company;
}

public class IPNode extends Node {
    private Long id;
    private String ipAddress;
}

public class SNMPNode extends Node {
    private Long id;
    private SNMPServer server;
}
Run Code Online (Sandbox Code Playgroud)

[[在此点之后回复]]

为了贡献,这里有一个我最终做的样本:

索引节点:

public interface INode {
    public Long getId();
    public void setId(Long id); …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa spring-data-jpa

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

来自 UserHashedTableAuth 的 Ktor 基本身份验证

在 Ktor 网站https://ktor.io/samples/feature/auth.html 的这个示例中,他们使用帐户“test”和密码“test”作为示例。

@UseExperimental(KtorExperimentalAPI::class)
val hashedUserTable = UserHashedTableAuth(
    getDigestFunction("SHA-256") { "ktor${it.length}" },
    table = mapOf(
        "test" to Base64.getDecoder().decode("GSjkHCHGAxTTbnkEDBbVYd+PUFRlcWiumc4+MWE9Rvw=") // sha256 for "test"
    )
)
Run Code Online (Sandbox Code Playgroud)

我需要创建另一个条目,但我无法弄清楚他们是如何获得该哈希值的。我试图对“测试”这个词进行 sha256,无论是否加盐,都试图对结果进行 base64...没有任何匹配的哈希值,所以我无法创建另一个用户。

任何人都可以在这里启发我如何使用该代码创建兼容的哈希?

authentication base64 sha256 kotlin ktor

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